# 配置文件，用来配置app需要的配置信息
"""

配置信息集成：
1.数据库配置
2.redis配置
3.session配置
4.csrf配置
5.日志记录
数据库迁移
"""""


import redis
import logging



class Config(object):
    DEBUG = True # 调试模式
    # 设置密钥
    SECRET_KEY = "fjdkjfkdjfkdfjdfjlks"
    # 连接数据库配置信息
    SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:mysql@127.0.0.1:3306/information"
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    # 配置信息，当监测到数据库数据变化时，自动更新数据
    SQLALCHEMY_COMMIT_ON_TEARDOWN = True
    # redis配置
    REDIS_HOST = "127.0.0.1"
    REDIS_PORT = 6379

    # session配置储存信息
    SESSION_TYPE ='redis'  # 指定存储类型
    SESSION_PERMANENT = False # 设置过期
    SESSION_USE_SIGNER = True # 需要签名存储
    # 指定存储位置
    SESSION_REDIS = redis.StrictRedis(host=REDIS_HOST,port=REDIS_PORT)
    # 设置过期时间
    PERMANENT_SESSION_LIFETIME = 3600*24*2 # 设置session的过期时间为2day

    # 默认日志等级
    LEVEL = logging.DEBUG

class DeveloperConfig(Config):
    """开发模式下的配置"""
    pass

class ProductConfig(Config):
    """生产模式下的配置"""
    DEBUG = False
    LEVEL = logging.ERROR
    pass

#测试模式
class TestingConfig(Config):
    pass

#设置统一访问入口,使用config_dict
config_dict = {
    "develop":DeveloperConfig,
    "product":ProductConfig,
    "testing":TestingConfig
}

